/* FILE_OPERATONS.H
 *
 * This file contains the file operations. These operations require
 * two input images.
 */

#pragma once


#include "image.h"
#include "operations.h"
#include "generic.h"
#include "winuser.h"

#include <iostream>
#include <string>
using namespace std;


//The setup methods return false to cancel the operation.
//The other (operation) methods return false on failure.

bool addSetup( Task *task );
bool add( Image &imgSource, Image &imgResult, void *data );

bool multiplySetup( Task *task );
bool multiply( Image &imgSource, Image &imgResult, void *data );

bool subtractSetup( Task *task );
bool subtract( Image &imgSource, Image &imgResult, void *data );

void showErrorMessage();